草庐IT

java - Spring 安全中的 Oauth2 客户端

全部标签

ruby-on-rails - 我怎样才能找到 Rails 中的当前路线?

我需要知道Rails过滤器中的当前路由。我怎样才能知道它是什么?我正在处理REST资源,没有看到任何命名路由。 最佳答案 如果您尝试在View中对某些内容进行特殊处理,您可以使用current_page?,如下所示:'users',:action=>'index')%>...或者一个Action和id...'users',:action=>'show',:id=>1)%>...或命名路由......和因为current_page?需要Controller和操作,当我只关心Controller时,我在ApplicationContro

ruby - Ruby 中的冒号运算符是什么?

当我说{:bla=>1,:bloop=>2}时,:到底做了什么?我在某处读到它与字符串的相似之处,但不知何故是一个符号。我不是很清楚这个概念,谁能启发我? 最佳答案 :foo是一个名为“foo”的符号。符号具有明显的特征,任何两个名称相同的符号将是相同的:"foo".equal?"foo"#false:foo.equal?:foo#true这使得比较两个符号非常快(因为只涉及指针比较,而不是像比较字符串中的所有字符),而且您不会有无数个相同符号的副本四处漂浮。此外,与字符串不同,符号是不可变的。

ruby - 如何从Ruby中的文件路径获取不带扩展名的文件名

如何从Ruby中的文件路径获取文件名?例如,如果我的路径是"C:\projects\blah.dll"而我只想要“blah”。Ruby中有LastIndexOf方法吗? 最佳答案 尝试File.basenameReturnsthelastcomponentofthefilenamegiveninfile_name,whichmustbeformedusingforwardslashes(``/’’)regardlessoftheseparatorusedonthelocalfilesystem.Ifsuffixisgivenandp

arrays - Ruby 中的数组切片 : explanation for illogical behaviour (taken from Rubykoans. com)

我正在做RubyKoans中的练习我对以下Ruby怪癖感到震惊,我发现它真的无法解释:array=[:peanut,:butter,:and,:jelly]array[0]#=>:peanut#OK!array[0,1]#=>[:peanut]#OK!array[0,2]#=>[:peanut,:butter]#OK!array[0,0]#=>[]#OK!array[2]#=>:and#OK!array[2,2]#=>[:and,:jelly]#OK!array[2,20]#=>[:and,:jelly]#OK!array[4]#=>nil#OK!array[4,0]#=>[]#HUH

ruby-on-rails - Rails 中的 OO 设计 : Where to put stuff

我真的很喜欢Rails(尽管我通常不太喜欢RESTless),而且我喜欢Ruby非常面向对象。尽管如此,创建庞大的ActiveRecord子类和庞大的Controller的趋势是很自然的(即使您确实为每个资源使用了一个Controller)。如果你要创建更深层次的对象世界,你会将类(和模块,我想)放在哪里?我问的是View(在助手本身中?)、Controller和模型。lib没问题,我找到了somesolutionstogetittoreloadinadevenvironment,但我想知道是否有更好的方法来做这些事情。我真的只是担心类(class)变得太大。另外,引擎怎么样?它们是如

ruby - 为什么 Ruby 中的除法返回整数而不是十进制值?

例如:9/5#=>1但我期望1.8。如何获得正确的小数(非整数)结果?为什么它会返回1? 最佳答案 它正在做整数除法。您可以使用to_f强制事物进入浮点模式:9.to_f/5#=>1.89/5.to_f#=>1.8如果您的值是变量而不是文字,这也适用。将一个值转换为float足以将整个表达式强制转换为浮点运算。 关于ruby-为什么Ruby中的除法返回整数而不是十进制值?,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby - Ruby 中的 block 和产量

我正在尝试了解block和yield以及它们在Ruby中的工作方式。如何使用yield?我看过的许多Rails应用程序都以一种奇怪的方式使用yield。有人可以向我解释或告诉我去哪里了解它们吗? 最佳答案 是的,一开始有点费解。在Ruby中,方法可以接收代码块以执行任意代码段。当一个方法需要一个block时,您可以通过调用yield函数来调用它。例子:以Person为例,这是一个具有name属性和do_with_name方法的类。调用该方法时,它会将name属性传递给block。classPersondefinitialize(na

ruby-on-rails - Ruby on Rails 中的@变量

@title和title有什么区别?由于它们都可以是变量名。另外,我如何决定应该使用哪种变量?是否使用@? 最佳答案 title是局部变量。它们只存在于它的范围内(当前block)@title是一个实例变量-并且可用于类中的所有方法。您可以在这里阅读更多内容:http://strugglingwithruby.blogspot.dk/2010/03/variables.html在RubyonRails中-在Controller中将变量声明为实例变量(@title)使它们可用于您的View。

ruby - 替换字符串中的单词 - Ruby

我在Ruby中有一个字符串:sentence="MynameisRobert"如何在不使用复杂代码或循环的情况下轻松替换这句话中的任何一个词? 最佳答案 sentence.sub!'Robert','Joe'如果被替换的单词不在句子中,则不会导致异常([]=变体会)。如何替换所有实例?以上仅替换了“Robert”的第一个实例。要替换所有实例,请使用gsub/gsub!(即“全局替换”):sentence.gsub!'Robert','Joe'以上将用Joe替换Robert的所有实例。 关

ruby - 遍历一个目录中的每个文件

如何在ruby​​中编写一个循环以便我可以在每个文件上执行一段代码?我是ruby​​的新手,我得出的结论是执行此操作的方法是循环执行。ruby文件将从与我要循环的目录不同的目录中执行。我已经尝试了Dir.foreach但我无法让它工作。 最佳答案 正如其他人所说,Dir::foreach在这里是一个不错的选择。但是,请注意Dir::foreach和Dir::entries将始终包含.和..(当前目录和父目录)。你通常不想处理它们,所以你可以使用Dir::each_child或Dir::children(如suggestedbyma1